In global positioning satellite receivers, one or more correlators are used to "lock" or "align" a reference signal generated by the receiver with a received satellite signal so that information from the received satellite signal can be obtained. The received satellite signal has carrier and code components which are tracked by the receiver. Each correlator continuously compares the received satellite signal with a particular reference signal and generates a correlation signal indicating the on-going result of the comparison. The power of this correlation signal is measured and is repeatedly or continuously accumulated for a period of time called a "pre-detection interval" (PDI). The signal powers measured by the receiver are usually represented by voltage within the circuitry of the receiver. The time period of the pre-detection interval is selected so that the spread spectrum signal transmitted by the global positioning satellites can be discerned from any noise interference in the received satellite signal. This accumulated result is then used to adjust the reference signal to be better aligned with the received satellite signal during the next pre-detection interval. A short summary of the operation of a global positioning satellite receiver is provided below. A detailed discussion can be found in J. J. Spilker, Jr., Digital Communications By Satellite, Prentice-Hall, Inc., 1977.
When, as a result of these adjustments, the received signal and the reference signal become aligned in time, that is, the reference signal is punctual ("P") with respect to the received signal, the accumulated result has a maximum value. Similarly, if the received signal and the reference signal are not aligned, the accumulated result has a lower value corresponding to how closely the signals are aligned in time. In other words, if the reference signal is leading or early ("E"), or lagging or late ("L"), with respect to a reference signal, the accumulated result will be less than the maximum value.
FIG. 1 illustrates the possible accumulated result values for ideal conditions, which are a measure of the correlation signal power, with respect to the difference in time ("phase") between the received satellite signal and the reference signal. In global positioning systems, this graph 10 is referred to as a "correlation function".
Because the correlation function is ideally a triangular peak (some asymmetry and rounding is introduced by signal filtering in other parts of the receiver and by other effects), the value of a single accumulated result 11 is found on either side of the maximum accumulated result 12, see points 14 and 16 in FIG. 1. Therefore, by itself, a single accumulated result does not indicate whether to advance or delay the reference signal in time for the next pre-detection interval to get closer to the maximum, that is, where alignment between the received satellite signal and the reference signal occurs.
To provide this `steering` information, most receivers employ at least one other correlator designated to receive an early version ("early correlator") and/or a late version ("late correlator") of the reference signal in addition to the "punctual" correlator receiving the punctual version of the reference signal.
FIG. 2 illustrates the operation of one such multiple correlator receiver. Under most conditions, when the punctual reference signal is aligned with the received signal, the early correlator and the late correlator produce accumulated results which have a known relationship with respect to each other, typically the same value, and a known relationship with respect to the accumulated results of the punctual correlator as shown by the accumulated results 20, 21, 22. Because the receiver knows the relationship between the correlators when the received signal and the punctual reference signal are aligned, the receiver can calculate whether to advance or delay the reference signals for the next pre-detection interval to achieve alignment. For example, in FIG. 2, the punctual reference signal is "early", as indicated by the location of points 24, 25, 26 to the left of the locations of points for the known relationship 20, 21, 22, respectively. From this information, the receiver knows that the punctual, early and late reference signals should be advanced in time for the next pre-detection interval to better align the reference signals with the received signal, that is, to move the accumulated result of the punctual correlator for the next pre-detection interval to the "peak" of the correlation function as illustrated by arrows 27, 28, 29.
One common variation of this procedure is to subtract the late correlation signal from the early correlation signal to generate an "early-minus-late" correlation signal which is accumulated from an early-minus-late correlator. Thus, for example in the illustration in FIG. 2, the accumulated result of the early-minus-late correlator is a negative number which indicates that the reference signal should be advanced in time for the next pre-detection interval.
The accumulated result for a correlator also varies according to the received signal strength. To account for this variation, receivers typically include additional correlators to generate accumulated results for other reference signals that are shifted in time one-quarter cycle, that is 90 degrees, with respect to a corresponding reference signal. These additional reference signals are called quadrature reference signals ("Q") in contrast to the in-phase ("I") reference signals. Since the received signals and reference signals are primarily sinusoidal, when an in-phase signal is at its maximum power the corresponding quadrature signal has zero power. Therefore, the receiver knows that the highest possible accumulated result for a particular pre-detection interval is calculated by accumulating the in-phase signal when the quadrature signal is zero. Receivers can include both in-phase and quadrature correlators for each point in time being measured. In other words, if a receiver has an early in-phase ("EI") correlator as well as a late in-phase ("LI") correlator, then the receiver may also have a corresponding early quadrature ("EQ") correlator and a late quadrature ("LQ") correlator.
In an ideal system, no matter how large is the accumulated result for a particular correlator, the hardware and/or software is able to represent the appropriate value for that accumulated result. However, in an actual system, the largest value that can be represented is limited by the storage capacity of the components of the receiver. In an analog system, the capacity could be a maximum voltage on an integrating capacitor. In a digital system, the maximum accumulated result is limited by the number of bits which can be stored in the accumulation register ("accumulator") of the correlator. Thus, for example, the maximum possible count can be +/-7 for a four-bit accumulator. In this example, if the accumulated result is 10, then the accumulator will limit, that is overflow, during the pre-detection interval and an erroneous accumulated result will be used in the calculations for adjusting the reference signal for the next pre-detection interval.
In one experiment with a conventional channel circuit using fixed correlator accumulators of 17 bits and a pre-detection interval set to 5 milliseconds, some correlators limited, that is, overflowed, when the received satellite signal's strength, was greater than 54 decibels-Hertz.
One solution to this overflow problem is to employ correlator accumulators which are sufficiently large, that is, have enough bits to accumulate large accumulated results. However, larger accumulators are implemented with more gates increasing both monetary and power consumption costs. For example, in one receiver implemented on an application specific integrated circuit (ASIC), each extra bit for an accumulator requires a flip flop, each flip flop requiring 7.5 gates and about 9 gates for control logic, thereby requiring a total of 16.5 gates per bit. Therefore, in this example, if 2 bits are added to each accumulator to deal with the overflow, and each channel has 4 accumulators (a separate channel is usually used to track one received satellite signal) and each ASIC has 12 channels (although some receivers have 48 channels or more), a total of 1584 additional gates are required:
2 (the number of extra bits).times.12 (the number of channels).times.4 (correlators/channel).times.16.5=1584 gates.
These gates could be used for other functions on the ASIC and also require additional power, for example, about 40-160 microWatts per bit which can be significant for battery-powered GPS receivers.
Another solution is to scale down the correlation signals to values low enough such that the overflow condition in the worst case will not occur, for example, divide by some number. However, scaling to the worst case condition substantially degrades the signal-to-noise ratio.
The present invention provides solutions to this overflow problem without requiring larger accumulators or scaling.